Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Shanghai Rolex Masters - Shanghai Hamburg Open - Hamburg BNP Paribas Open - Indian Wells Davis Cup, World Group, Q, TPE-USA 0-4 French Open - Paris Spain F17 Spain F18 Spain F19 Spain F22 Spain F23 Spain F26 Spain F27 Spain F34 Spain F35 Portugal F4 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F18 Spain F19 Spain F20 Spain F30 Spain F31 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F16 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F4 Spain F14 Spain F15 Spain F36 Spain F37 Spain F38 USA F27 USA F28 Spain F33 Spain F3 Chinese Taipei F1 Spain F17 Romania F11 Hong Kong F5 Hong Kong F6 (Hong Kong) Italy F19 (Basilicanova) Turkey F7 (Antalya) Turkey F8 (Antalya) Turkey F9 (Antalya) Vietnam F1 (Thua Thien Hue) Vietnam F2 (Thua Thien Hue) Portugal F9 (Povoa de Varzim) Chinese Taipei F1 (Taipei) Chinese Taipei F2 (Taipei) M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Sharm El Sheikh M25 Aktobe M25 Aktobe M25 Hong Kong M25 Hong Kong M25+H Kassel Romania F10 Spain F33 M25 Hamburg M25 Vale Do Lobo M25 Angers M25 Prague M25 Nur-Sultan M25 Pitesti M25 Portimao M15 Curtea de Arges Kos Succhetti Tennis Cup - Cordenons Mamaia Challenger - Constanta Orbetello Challenger Seville Challenger Tarragona Challenger Rennes Challenger Tanger Challenger Rabat Challenger Leon Challenger Tallahassee Challenger Reggio Emilia Challenger Recanati Challenger Istanbul Challenger Manerbio Challenger Seville Challenger Tampere Challenger Izmir Challenger Sao Paulo Challenger Courmayeur Challenger Quimper Challenger Casablanca Challenger Furth Challenger Marburg Challenger Tampere Challenger San Marino Challenger San Sebastian Challenger Kosice Challenger Szczecin Challenger Eckental Challenger Kazan Challenger Meknes Challenger Casablanca Challenger Marrakech Challenger Mersin Challenger Milan Challenger Tampere Challenger Sibiu Challenger Cordenons Challenger Como Challenger Alphen Challenger Rio De Janeiro Challenger Bordeaux Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Rabat Challenger Kosice Challenger Trnava Challenger Chinese Taipei F3 Heilbronn Challenger Yokohama Challenger Phoenix Challenger Guangzhou Challenger Braga Challenger Pingguo Challenger Prague Challenger Almaty 1 Challenger Orleans Challenger Maia 1 Challenger Braunschweig Challenger Quimper Challenger Baotou Challenger Zadar Challenger Porto Challenger Oeiras 1 Challenger Oeiras 2 Challenger Segovia Challenger Oeiras 1 Challenger Banja Luka Challenger Prostejov Challenger Bengalaru 1 Challenger Trnava Challenger Madrid Challenger Chennai Challenger Verona Challenger Bratislava 2 Challenger Girona Challenger Oeiras 3 Challenger Taipei City Challenger Turin Challenger Playford Challenger Canberra Challenger Prague 3 Challenger Tunis Challenger Shenzhen 1 Challenger Sopot Challenger Manerbio Challenger Modena Challenger Cordenons Challenger Jinan Challenger Shenzhen Challenger Pau Challenger Oeiras 4 Challenger Nur-Sultan 3 Challenger Nur-Sultan 4 Challenger Verona Challenger Barletta Challenger Mallorca Challenger Istanbul 2 Challenger Biel Challenger Tenerife Challenger Ortisei Challenger Pau Challenger Helsinki Challenger Antalya 3 Challenger Maia 2 Challenger Bratislava Challenger Roseto Degli Abruzzi 2 Challenger Marbella Challenger Murcia Challenger Prague 1 Challenger Ostrava Challenger Heilbronn Challenger Poznan Challenger Tulln Challenger Szczecin Challenger Seoul Challenger Pune Challenger Phoenix Challenger Girona Challenger Aix En Provence Challenger Cordenons Challenger Calgary Challenger Nonthaburi 1 Challenger Kobe Challenger Nonthaburi 2 Challenger Szekesfehervar Challenger Murcia Challenger Ostrava Challenger Phoenix Challenger Skopje Challenger Milan Challenger Santo Domingo Challenger Hangzhou Challenger Matsuyama Challenger Vicenza Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Trieste Challenger Kaohsiung Challenger Jingshan Challenger Ningboo Challenger Kobe Challenger Bangkok Challenger Bergamo Challenger Forli Challenger Bratislava 2 Challenger Lisbon Challenger Cary Challenger Antalya Challenger Antalya 2 Challenger Potchefstroom 1 Challenger Potchefstroom 2 Challenger St. Brieuc Challenger Rome Challenger Gerry Weber Open - Halle Cremona Challenger Alicante Challenger Bengalaru 2 Challenger Quimper Challenger Bergamo Challenger Estoril Open - Estoril Estoril Open - Estoril Milan Challenger San Juan Challenger Vicenza Challenger Porto Alegre Challenger Taipei 2 Challenger Montevideo Challenger M25 Nonthaburi Meknes Challenger Montechiarugolo - Parma Challenger Marrakech Challenger If Stockholm Open - Stockholm Open 13 - Marseille Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Kaohsiung Challenger Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Open Sud de France - Montpellier Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Portugal Open - Oeiras Topshelf Open - 's-Hertogenbosch Vegeta Croatia Open - Umag China Open - Beijing Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna ASB Classic - Auckland Millennium Estoril Open - Estoril Orlando Challenger Rio Open - Rio de Janeiro Geneva Open - Geneva Tunis Challenger Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Gerry Weber Open - Halle SkiStar Swedish Open - Bastad St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Gerry Weber Open - Halle Antalya Cup - Antalya ASB Classic - Auckland Geneva Open - Geneva SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu ASB Classic - Auckland Dubai Duty Free Tennis Championships - Dubai Mercedes Cup - Stuttgart Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Serbia Open - Belgrade Mallorca Championships - Mallorca Generali Open - Kitzbuhel Moselle Open - Metz Erste Bank Open - Vienna Next Gen ATP Finals - Milan ASB Classic - Auckland Rio Open - Rio de Janeiro Libema Open - 's-Hertogenbosch European Open - Antwerp Turin Challenger Lisbon Challenger Swiss Open - Gstaad Sardegna Open - Cagliari Winston-Salem Open - Winston-Salem Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Gerry Weber Open - Halle Studena Croatia Open - Umag Seville Challenger Genova Challenger Dubai Duty Free Tennis Championships - Dubai Rome Challenger Topshelf Open - 's-Hertogenbosch Valencia Open - Valencia Open Parc - Lyon Apia International - Sydney Bordeaux Challenger Furth Challenger Trieste Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Power Horse Cup - Dusseldorf Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur If Stockholm Open - Stockholm Cordoba Open - Cordoba Madrid Challenger Heineken Open - Auckland Dubai Duty Free Tennis Championships - Dubai Naples Challenger Lyon Challenger AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Como Challenger Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice Gonet Geneva Open - Geneva Aegon Nottingham Open - Nottingham Konzum Croatia Open - Umag St. Petersburg Open - St. Petersburg Brest Challenger Rakuten Japan Open - Tokyo Kaohsiung Challenger Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Rosario Challenger Sophia Antipolis Challenger Konzum Croatia Open - Umag Bordeaux Challenger Suisse Open - Gstaad Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Brasil Open - Sao Paulo Chengdu Open - Chengdu China Open - Beijing Oeiras 3 Challenger Biella Challenger Sao Paulo Challenger Rio Open - Rio de Janeiro Mallorca Challenger Barcelona Open Banc Sabadell - Barcelona Oeiras 2 Challenger Millennium Estoril Open - Estoril Noventi Open - Halle Turkish Airlines Open Antalya - Antalya Almaty 2 Challenger Open Parc - Lyon Bengaluru Challenger Korea Open - Seoul Tel Aviv Watergen Open - Tel Aviv Intrum Stockholm Open - Stockholm ABN AMRO World Tennis Tournament - Rotterdam Generali Open - Kitzbuhel Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Argentina Open - Buenos Aires Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Busan Challenger Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel Bengaluru Challenger Prague 2 Challenger Tunis Challenger Dubai Duty Free Tennis Championships - Dubai Troisdorf Challenger Vicenza Challenger Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart Noventi Open - Halle Prostejov Challenger Nordea Open - Bastad Braga Challenger Hamburg European Open - Hamburg Abierto de Tenis Mifel - Los Cabos Rakuten Japan Open - Tokyo Stockholm Open - Stockholm Dallas Open - Dallas Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Rio Open - Rio de Janeiro BMW Open - Munich Plava Laguna Croatia Open - Umag Ortisei Challenger Gijon Open - Gijon Ismaning Challenger Drummondville Challenger Millennium Estoril Open - Estoril Maia Challenger Pune Challenger Barletta Challenger Plava Laguna Croatia Open - Umag Chengdu Open - Chengdu Nordea Open - Bastad Perugia Challenger Hangzhou Open - Hangzhou San Marino Challenger Seoul Challenger Western & Southern Open - Cincinnati Valencia Open - Valencia Open 13 - Marseille Antalya Cup - Antalya Internazionali BNL d'Italia - Rome Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Swiss Indoors Basel - Basel Argentina Open - Buenos Aires Rothesay International - Eastbourne Brasil Open - Sao Paulo Millennium Estoril Open - Estoril VTR Open - Vina del Mar Monte-Carlo Rolex Masters - Monte-Carlo Chennai Challenger Sanremo Challenger Cassis Challenger Bratislava Challenger Nonthaburi 3 Challenger Hellenic Championship - Athens Winston-Salem Open - Winston-Salem Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Estoril Open - Estoril Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Copa Claro - Buenos Aires Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Western & Southern Open - New York BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Miami Open - Miami Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Qatar ExxonMobil Open - Doha Miami Open - Miami Mutua Madrid Open - Madrid Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow BNP Paribas Masters - Paris Open 13 Provence - Marseille Tata Open Maharashtra - Pune Monte-Carlo Rolex Masters - Monte-Carlo Brisbane International - Brisbane Tiriac Open - Bucharest BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Australian Open - Melbourne Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Rolex Paris Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Toronto U.S. Open - New York Australian Open - Melbourne French Open - Paris Internazionali BNL d'Italia - Rome St. Petersburg Open - St. Petersburg Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Chengdu Open - Chengdu French Open - Paris European Open - Antwerp U.S. Open - New York Open Sud de France - Montpellier Wimbledon - London U.S. Open - New York French Open - Paris French Open - Paris Shenzhen Open - Shenzhen Swiss Indoors Basel - Basel Australian Open - Melbourne French Open - Paris Barcelona Open BancSabadell - Barcelona St. Petersburg Open - St. Petersburg Open Sud de France - Montpellier Wimbledon - London Australian Open - Melbourne Shanghai Rolex Masters - Shanghai Davis Cup, Group 2, 2R, POR-CYP 5-0 Wimbledon - London Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, UKR-TPE 3-2 Australian Open - Melbourne Davis Cup, World Group, PO, POR-CZE 1-3 Davis Cup, Group I, PO, MEX-TPE 1-3 Davis Cup, World Group, Q, TPE-FRA 0-4 Davis Cup, Group I, 1R, POR-BRA 3-1 French Open - Paris Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London Wimbledon - London U.S. Open - New York Internazionali BNL d'Italia - Rome Wimbledon - London French Open - Paris U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Wimbledon - London Wimbledon - London Rogers Cup - Montreal Wimbledon (juniors) U.S. Open (juniors) Rogers Cup - Toronto U.S. Open - New York Shanghai Rolex Masters - Shanghai Olympics - Rio de Janeiro Cassis Challenger Australian Open - Melbourne French Open - Paris Trieste Challenger Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, PO, GUA-TPE 0-4 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, 1R, AUT-POR 1-3 Davis Cup, Group I, 1R, TPE-NOR 2-3 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group II, 1R, HKG-TPE 0-4 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, 1R, ROU-TPE 1-3 French Open (juniors) All Lower level tournaments Davis Cup, Group II, 1R, LIB-TPE 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Australian Open (juniors) Olympics - Tokyo Davis Cup, Group I, PO, POR-RSA 4-0